﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DTO;
using BUS;
namespace t4_se
{
    public partial class SanBay_GUI : Form
    {
        public List<SanBay_DTO> ds;
        public SanBay_GUI()
        {
            InitializeComponent();
        }
        private void HienThi()
        {
            // Hiển thị các sân bay lên màn hình
            dataGridView1.Rows.Clear();
            ds = SanBay_BUS.layDanhSachSanBay();
            for (int i = 0; i < ds.Count; i++)
                dataGridView1.Rows.Add(ds[i].maSB, ds[i].tenSB, ds[i].tinh, ds[i].quocGia);

        }

        private void button1_Click(object sender, EventArgs e)
        {
            #region KiemTraThongTin
            if (textBoxmaSB.Text.Trim() == "")
                MessageBox.Show("Đây là thông tin bắt buộc. Đề nghị bạn điền một mã chuyên bay vào.");
            if (txtTinh.Text.Trim() == "")
                MessageBox.Show("Đây là thông tin bắt buộc. Đề nghị bạn điền một mã chuyên bay vào.");
            if (txtQuocgia.Text.Trim() == "")
                MessageBox.Show("Đây là thông tin bắt buộc. Đề nghị bạn điền một mã chuyên bay vào.");
            if (txt_tenSB.Text.Trim() == "")
                MessageBox.Show("Đây là thông tin bắt buộc. Đề nghị bạn điền một mã chuyên bay vào.");
            #endregion

            #region Them
            SanBay_DTO sanBay = new SanBay_DTO();
            sanBay.maSB = textBoxmaSB.Text.Trim();
            sanBay.tenSB = txtTinh.Text.Trim();
            sanBay.tinh = txtQuocgia.Text.Trim();
            sanBay.quocGia = txt_tenSB.Text.Trim();

            int result = SanBay_BUS.themSanBay(sanBay);
            if(result == 2)
                MessageBox.Show("Xin lỗi, đã tồn tại sân bay này.", "Xin vui lòng chọn một sân bay khác");
            if(result == 1)
                MessageBox.Show("Đã thêm thành công!");
            if(result == 0)
                MessageBox.Show("Xin lỗi, chúng tôi không thể thêm sân bay này!");
            #endregion
            #region CapNhat
            HienThi();
            #endregion
        }

        private void btXoa_Click(object sender, EventArgs e)
        {
            if (dataGridView1.CurrentRow != null)
            {
                String maSB = dataGridView1.CurrentRow.Cells["Mã sân bay"].Value.ToString();

                DialogResult dr = MessageBox.Show("Bạn có chắc muốn xóa sân bay \""+  maSB +"\"?","", MessageBoxButtons.YesNo,MessageBoxIcon.Warning );
                if (dr == System.Windows.Forms.DialogResult.Yes)
                {
                    bool result = SanBay_BUS.xoaSanBay(maSB);
                    if (result == false)
                        MessageBox.Show("Xin lỗi, sân bay tên \"" + maSB  + "\"không tồn tại!", "Xin vui lòng kiểm tra lại thông tin!.", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    else MessageBox.Show("Đã xóa thành công!");
                    HienThi();
                }
            }
            else
                MessageBox.Show("Xin vui lòng chọn một sân bay!");
        }

        private void button_Sua_Click(object sender, EventArgs e)
        {
            SanBay_DTO sanBay = new SanBay_DTO();
            sanBay.maSB = textBoxmaSB.Text;
            sanBay.tenSB = txt_tenSB.Text;
            sanBay.tinh = txtTinh.Text;
            sanBay.quocGia = txtQuocgia.Text;

            DialogResult dr = MessageBox.Show("Bạn có chắc muốn sửa thông tin của sân bay\"" + sanBay.tenSB + "\"?", "",MessageBoxButtons.YesNo, MessageBoxIcon.Warning );
            if (dr == System.Windows.Forms.DialogResult.Yes)
            {
                bool result = SanBay_BUS.suaSanBay(sanBay);
                if (result == true)
                    MessageBox.Show("Đã sửa thành công.");
                else MessageBox.Show("Thất bại.", "Xin bạn vui lòng kiểm tra lại thông tin!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                HienThi();
            }

        }

        private void button_Reset_Click(object sender, EventArgs e)
        {
            textBoxmaSB.Text = "";
            txt_tenSB.Text = "";
            txtQuocgia.Text = "";
            txtTinh.Text = "";
        }

        private void button_Thoat_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            Application.Restart();
        }
    }
}
